Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Selection ranges porvider #1060

Merged
merged 26 commits into from
Feb 9, 2024
Merged

Selection ranges porvider #1060

merged 26 commits into from
Feb 9, 2024

Conversation

lukaszsamson
Copy link
Collaborator

@lukaszsamson lukaszsamson commented Jan 31, 2024

This PR bases on tools built for folding ranges provider in #492 with the addition of AST and Code.Fragment.

Similarly to folding ranges, selection ranges works in a number of passes. Each pass generates sets of ranges, that are filtered based on cursor position and sorted from widest to narrowest.
Then ranges from each pass are recursively merged with an algorithm that sorts ranges and resolves conflicts.

Addresses #534

@lukaszsamson lukaszsamson marked this pull request as ready for review February 9, 2024 21:08
@lukaszsamson lukaszsamson merged commit 4cfc7f5 into master Feb 9, 2024
35 checks passed
@lukaszsamson lukaszsamson deleted the selection-ranges branch February 9, 2024 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant